Three dimensional integrated circuits

ABSTRACT

A programmable integrated circuit (IC), wherein: a programmable logic circuit is programmed to a user specification by configuring a transistor gate control signal generated by a read only memory (ROM) element positioned substantially above or below the transistor.

This application is a continuation of application Ser. No. 10/846,699(now U.S. Pat. No. 7,112,994) filed on May 17, 2004, which is acontinuation of application Ser. No. 10/267,483 filed on Oct. 8, 2002which claims priority from Provisional Application Ser. No. 60/393,763entitled “Wire Replaceable TFT SRAM Cell and Cell Array Technology”,filed on Jul. 8, 2002 and Provisional Application Ser. No. 60/397,070entitled “Wire Replaceable Thin Film Fuse and Anti-fuse Technology”,filed on Jul. 22, 2002, all of which have as inventor Mr. R. U. Maduraweand the contents of which are incorporated-by-reference.

This application is related to application Ser. No. 10/267,484 (nowabandoned) entitled “Methods for Fabricating Three-DimensionalIntegrated Circuits” and application Ser. No. 10/267,511 (now U.S. Pat.No. 6,747,478) entitled “Field Programmable Gate Array WithConvertibility to Application Specific Integrated Circuit”, all of whichwere filed on Oct. 8, 2002 and list as inventor Mr. R. U. Madurawe, thecontents of which are incorporated-by-reference.

This application is also related to application Ser. No. 10/751,324 (nowU.S. Pat. No. 7,176,713) filed on Jan. 5, 2004, application Ser. No.10/937,828 filed on Sep. 10, 2004, application Ser. No. 10/988,396 (nowU.S. Pat. No. 7,268,580) filed on Nov. 15, 2004, application Ser. No.11/357,145 (now U.S. Pat. No. 7,285,981) filed on Feb. 21, 2006,application Ser. No. 11/363,304 filed on Feb. 27, 2006, application Ser.No. 11/365,031 (now U.S. Pat. No. 7,285,982) filed on Mar. 2, 2006,application Ser. No. 11/801,739 filed on May 11, 2007, all of which listas inventor Mr. R. U. Madurawe, the contents of which areincorporated-by-reference.

BACKGROUND

The present invention relates to multi-dimensional integrated circuits.More specifically it relates to ROM programmable 3D ICs.

Traditionally, integrated circuit (IC) devices such as custom,semi-custom, or application specific integrated circuit (ASIC) deviceshave been used in electronic products to reduce cost, enhanceperformance or meet space constraints. However, the design andfabrication of custom or semi-custom ICs can be time consuming andexpensive. The customization involves a lengthy design cycle during theproduct definition phase and high Non Recurring Engineering (NRE) costsduring manufacturing phase. Further, should bugs exist in the custom orsemi-custom ICs, the design/fabrication cycle has to be repeated,further aggravating the time to market and engineering cost. As aresult, ASICs serve only specific applications and are custom built forhigh volume and low cost applications.

Another type of semi custom device called a Gate Array customizesmodular blocks at a reduced NRE cost by synthesizing the design using asoftware model similar to the ASIC. The missing silicon level designverification results in multiple spins and lengthy design iterations.

In recent years there has been a move away from custom or semi-customICs towards field programmable components whose function is determinednot when the integrated circuit is fabricated, but by an end user “inthe field” prior to use. Off the shelf, generic Programmable LogicDevice (PLD) or Field Programmable Gate Array (FPGA) products greatlysimplify the design cycle. These products offer user-friendly softwareto fit custom logic into the device through programmability, and thecapability to tweak and optimize designs to optimize siliconperformance. The flexibility of this programmability is expensive interms of silicon real estate, but reduces design cycle and upfront NREcost to the designer.

FPGAs offer the advantages of low non-recurring engineering costs, fastturnaround (designs can be placed and routed on an FPGA in typically afew minutes), and low risk since designs can be easily amended late enin the product design cycle. It is only for high volume production runsthat there is a cost benefit in using the more traditional approaches.However, the conversion from an FPGA implementation to an ASICimplementation typically requires a complete redesign. Such redesign isundesirable in that the FPGA design effort is wasted.

Compared to PLD and FPGA, an ASIC has hard-wired logic connections,identified during the chip design phase, and need no configurationmemory cells. This is a large chip area and cost saving for the ASIC.Smaller ASIC die sizes lead to better performance. A full custom ASICalso has customized logic functions which take less gate counts comparedto PLD and FPGA configurations of the same functions. Thus, an ASIC issignificantly smaller, faster, cheaper and more reliable than anequivalent gate-count PLD or FPGA. The trade-off is betweentime-to-market (PLD and FPGA advantage) versus low cost and betterreliability (ASIC advantage).

There is no convenient migration path from a PLD or FPGA used as adesign verification and prototyping vehicle to the lower die size ASIC.All of the SRAM or Anti-fuse configuration bits and programmingcircuitry has no value to the ASIC. Programmable module removal from thePLD or FPGA and the ensuing layout and design customization is timeconsuming with severe timing variations from the original design.

SUMMARY

In one aspect, a three-dimensional semiconductor device includes a firstmodule layer having a plurality of circuit blocks; and a second modulelayer positioned substantially above the first module layer, including aplurality of configuration circuits to control a portion of the circuitblocks.

Implementations of the above aspect may include one or more of thefollowing. The configuration circuits can be memory elements. Eachmemory element can be a transistor or a diode or a group of electronicdevices. The memory elements can be thin film devices such as thin filmtransistors (TFT) or diodes. The memory element can be selected from thegroup consisting of volatile or non volatile memory elements. The memoryelement can also be selected from the group of fuses, antifuses, SRAMcells, DRAM cells, metal optional links, EPROMs, EEPROMs, flash, andferro-electric elements. One or more redundant memory cells can beprovided for controlling the same circuit block. A third module layercan be formed substantially above the first and second module layer,wherein interconnect and routing signals are formed to connect thecircuit blocks within the first and second module layers. The thirdmodule layer can be formed substantially below the first and secondmodule layer. Alternatively, third and fourth module layers, whereininterconnect and routing signals are formed can be positioned above andbelow the second module layer respectively. The circuit block cancontain a programmable logic block which responds to input data signalsand develops corresponding complete or partial output logic signals, andregisters to store the logic signals and either outputting them tooutput terminals or returning them as inputs to additional programmablelogic blocks. The programmable logic blocks can contain pass gate logic,multiplexer logic, truth table logic, or AND/OR logic blocks.

Implementations of the above aspect may further include one or more ofthe following. The memory can be implemented using a TFT processtechnology that contains one or more of replaceable Fuses, Anti-fusesand SRAM elements. The process implementation is possible with anyprocess technology where EPROM, EEPROM, Flash, Ferro-Electric or anyother programmable element is vertically integrated.

In a second aspect, a multi-dimensional semiconductor device includes afirst module layer having a plurality of circuit blocks formed on afirst plane; and a second module layer formed on a second plane,including a plurality of configuration circuits formed to control aportion of the circuit blocks.

In a third aspect, a system includes a processor; data storage devicescoupled to the processor; and a three-dimensional semiconductor devicecoupled to the processor, the 3D semiconductor device having a firstmodule layer having a plurality of circuit blocks formed on a firstplane and a second module layer formed on a second plane, including aplurality of configuration circuits formed to control a portion of thecircuit blocks.

In a fourth aspect, a multi-dimensional semiconductor device includes aplurality of circuit blocks formed on a substrate; and a plurality ofconfiguration circuits formed substantially above the substrate tocontrol at least one circuit block.

Implementation of the fourth aspect may include one or more of thefollowing. The configuration circuit includes a predetermined conductivepattern to control the circuit blocks. The configuration circuits can bememory elements with one device selected from the following: diode,transistor, thin film device, thin film resistor, thin film capacitor,thin film transistor (TFT). The memory element can be selected from thegroup consisting of volatile or non volatile memory elements. The memoryelement can also be selected from a group of fuse links, antifusecapacitors, SRAM cells, DRAM cells, metal optional links, EPROM cells,EEPROM cells, flash cells, and ferro-electric elements.

Implementations of the above aspects may include one or more of thefollowing. The IC product is re-programmable in its initial stage withturnkey conversion to an ASIC. The IC has the end ASIC cost structureand FPGA re-programmability. The IC product offering occurs in twophases: the first stage is a generic FPGA that has re-programmabilitycontaining a programmable module, and the second stage is an ASIC withthe entire programmable module replaced by 1 to 2 customized hard-wiremasks.

A series product families can be provided with a modularizedprogrammable element in an FPGA version followed by a turnkey customASIC with the same base die with 1-2 custom masks. The verticallyintegrated programmable module does not consume valuable silicon realestate of a base die. Furthermore, the design and layout of theseproduct families adhere to removable module concept: ensuring thefunctionality and timing of the product in its FPGA and ASIC canonicals.These IC products can replace existing PLD and FPGA products and competewith existing Gate Arrays and ASIC's in cost and performance.

Advantages of the IC may include one or more of the following. An easyturnkey customization of an ASIC from an original smaller PLD or FPGAwould greatly enhance time to market, performance, low cost and betterreliability.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a cross sectional view of a first embodiment of anintegrated circuit.

FIG. 2 shows a cross sectional view of a second embodiment of anintegrated circuit.

FIG. 3 shows a cross sectional view of a third embodiment of anintegrated circuit.

FIG. 4 shows a cross sectional view of a fourth embodiment of anintegrated circuit.

FIG. 5 shows an exemplary AND-OR PLD Architecture.

FIG. 6 shows an exemplary AND-OR array gate realization of PLD.

FIG. 7 shows one EEPROM implementation of a P-Term logic array.

FIG. 8 shows P-term configuration for SRAM/hard-wired PLD architecture.

FIG. 9 shows an exemplary pass-gate logic.

FIG. 10 shows an exemplary 4-Input logic MUX.

FIG. 11 shows an exemplary 2-Input Truth Table.

FIG. 12 shows a logic tree implementation of a 4-Input Truth Table.

FIG. 13 shows an exemplary 6T SRAM.

FIG. 14 shows pass gate transistor logic controlled by SRAM.

FIG. 15 shows one embodiment of a 5×6 switch matrix.

FIG. 16 shows pass gate controlled by Vcc (power) or Vss (ground)

FIG. 17 shows the 5×6 switch matrix

DESCRIPTION

In the following detailed description of the invention, reference ismade to the accompanying drawings which form a part hereof, and in whichis shown, by way of illustration, specific embodiments in which theinvention may be practiced. These embodiments are described insufficient detail to enable those skilled in the art to practice theinvention. Other embodiments may be utilized and structural, logical,and electrical changes may be made without departing from the scope ofthe present invention.

The terms wafer and substrate used in the following description includeany structure having an exposed surface with which to form theintegrated circuit (IC) structure of the invention. The term substrateis understood to include semiconductor wafers. The term substrate isalso used to refer to semiconductor structures during processing, andmay include other layers that have been fabricated thereupon. Both waferand substrate include doped and undoped semiconductors, epitaxialsemiconductor layers supported by a base semiconductor or insulator, SOImaterial as well as other semiconductor structures well known to oneskilled in the art. The term conductor is understood to includesemiconductors, and the term insulator is defined to include anymaterial that is less electrically conductive than the materialsreferred to as conductors. The following detailed description is,therefore, not to be taken in a limiting sense.

The term module layer includes a structure that is fabricated using aseries of predetermined process steps. The boundary of the structure isdefined by a first step, one or more intermediate steps, and a finalstep. The resulting structure is formed on a substrate.

The term configuration circuit includes one or more configurableelements and connections that can be programmed for controlling one ormore circuit blocks in accordance with a predetermined user-desiredfunctionality. In one embodiment, the configuration circuits include aplurality of memory circuits to store instructions to configure an FPGA.In another embodiment, the configuration circuits include a firstselectable configuration where a plurality of memory circuits is formedto store instructions to control one or more circuit blocks. Theconfiguration circuits include a second selectable configuration with apredetermined conductive pattern formed in lieu of the memory circuit tocontrol substantially the same circuit blocks. The memory circuitincludes elements such as diode, transistor, resistor, capacitor, metallink, among others. The memory circuit also includes thin film elements.In yet another embodiment, the configuration circuits include apredetermined conductive pattern, via, resistor, capacitor or othersuitable circuits formed in lieu of the memory circuit to controlsubstantially the same circuit blocks.

The term “horizontal” as used in this application is defined as a planeparallel to the conventional plane or surface of a wafer or substrate,regardless of the orientation of the wafer or substrate. The term“vertical” refers to a direction perpendicular to the horizontaldirection as defined above. Prepositions, such as “on”, “side”,“higher”, “lower”, “over” and “under” are defined with respect to theconventional plane or surface being on the top surface of the wafer orsubstrate, regardless of the orientation of the wafer or substrate.

FIG. 1 shows a cross sectional view of a first embodiment of anintegrated circuit that can be selectably fabricated as either an FPGAor an ASIC. In this embodiment, a three-dimensional semiconductor device100 is shown. The device 100 includes a first module layer 102 having aplurality of circuit blocks 104 embedded therein. The device 100 alsoincludes a second module layer 106 formed substantially above the firstmodule layer 102. One or more configuration circuits 108 are formed tostore instructions to control a portion of the circuit blocks 104. Inthe embodiment of FIG. 1, wiring/routing circuits 112 are formed on athird layer 110 above the second layer 106. Circuits 112 connect to bothcircuits 104 and 108 to complete the functionality of the PLD.

FIG. 2 shows a cross sectional view of a second embodiment of anintegrated circuit that can be selectably fabricated as either an FPGAor an ASIC. In this embodiment, a three-dimensional semiconductor device120 is shown. The device 120 includes a first module layer 122 having aplurality of circuit blocks 124 embedded therein. The device 120 alsoincludes a second module layer 126 formed substantially above the firstmodule layer 122 that includes wiring and/or routing circuitry 128, anda third module layer 130 formed substantially above the second modulelayer 126 that includes configuration circuits 132. The wiring/routingcircuitry 128 is electrically connected to the circuit blocks 124 and toconfiguration circuits 132 in the third module layer 130. Theconfiguration circuits 132 store instructions to control a portion ofthe circuit blocks 124.

FIG. 3 shows a third embodiment which is substantially similar to theembodiment of FIG. 2. In the embodiment of FIG. 3, a fourth layer 140having wiring/routing circuitry 142 is position above the third layer130. The wiring/routing circuitry 142 is electrically connected to oneof the following: one or more circuit blocks 124, one or morewiring/routing circuitry 128, and one or more configuration circuits132.

FIG. 4 shows one implementation where the configuration memory elementis SRAM. First, silicon transistors 150 are deposited on a substrate. Amodule layer of removable SRAM memory cells 152 are positioned above thesilicon transistors 150, and a module layer of interconnect wiring orrouting circuit 154 is formed above the removable memory cells 152. Toallow this replacement, the design adheres to a hierarchical layoutstructure. As shown in FIG. 4, the SRAM cell module is sandwichedbetween the single crystal device layers below and the metal layersabove electrically connecting to both. It also provides throughconnections “A” for the lower device layers to upper metal layers. TheSRAM module contains no switching electrical signal routing inside themodule. All such routing is in the layers above and below. Most of theprogrammable element configuration signals run inside the module. Upperlayer connections to SRAM module “C” are minimized to Power, Ground andhigh drive data wires. Connections “B” between SRAM module and singlecrystal module only contain logic level signals and replaced later byVcc and Vss wires. Most of the replaceable programmable elements and itsconfiguration wiring is in the “replaceable module” while all thedevices and wiring for the end ASIC is outside the “replaceable module”.In other embodiments, the replaceable module could exist between twometal layers or as the top most layer satisfying the same device androuting constraints.

Fabrication of the IC also follows a modularized device formation.Formation of transistors 150 and routing 154 is by utilizing a standardlogic process flow used in the ASIC fabrication. Extra processing stepsused for memory element 152 formation are inserted into the logic flowafter circuit layer 150 is constructed. A full disclosure of thevertical integration of the TFT module using extra masks and extraprocessing is in the co-pending incorporated by reference applicationsdiscussed above.

During the customization, the base die and the data in those remainingmask layers do not change making the logistics associated with chipmanufacture simple. Removal of the SRAM module provides a low coststandard logic process for the final ASIC construction with the addedbenefit of a smaller die size. The design timing is unaffected by thismigration as lateral metal routing and silicon transistors areuntouched. Software verification and the original FPGA designmethodology provide a guaranteed final ASIC solution to the user. A fulldisclosure of the ASIC migration from the original FPGA is in theco-pending incorporated by reference applications discussed above.

In FIG. 4, the third module layer is formed substantially above thefirst and second module layers, wherein interconnect and routing signalsare formed to connect the circuit blocks within the first and secondmodule layers. Alternatively, the third module layer can be formedsubstantially below the first and second module layer with interconnectand routing signals formed to connect the circuit blocks within thefirst and second module layers. Alternatively, the third and fourthmodule layers positioned above and below the second module layerrespectively, wherein the third and fourth module layers provideinterconnect and routing signals to connect the circuit blocks withinthe first and second module layers.

In yet another embodiment of a programmable multi-dimensionalsemiconductor device, a first module layer is fabricated having aplurality of circuit blocks formed on a first plane. The programmablemulti-dimensional semiconductor device also includes a second modulelayer formed on a second plane. A plurality of configuration circuits isthen formed to store instructions to control a portion of the circuitblocks.

Next, details of the circuit blocks 104, the configuration circuit 108,and the wiring and/or routing circuit 112 in FIG. 1 are detailed.

A variety of digital or analog circuits can be used in circuit blocks104. These circuit blocks include programmable logic blocks to allowuser customization of logic. In one embodiment, programmable logicblocks are provided to respond to input data signals. The programmablelogic blocks develop corresponding complete or partial output logicsignals. Registers are used to store the output logic signals and eitheroutputting them to output terminals or returning them as inputs toadditional programmable logic blocks. The registers themselves can beprogrammable, allowing those to be configured such as T flip-flops, JKflip-flops, or any other register. The logic blocks may contain noregisters, or the registers may be programmed to be by-passed tofacilitate combinational logic implementation. The programmable logicblock can be selected from one of a pass gate logic, a multiplexerlogic, a truth table logic, or an AND/OR logic. FIG. 5 shows anexemplary AND-OR PLD Architecture. AND and OR arrays 202 and 204 containuser configurable programmable elements. FIG. 6 shows an exemplaryAND-OR array gate realization of a three input, four P-term, four outputPLD. The AND and OR array 210-212 are shown programmed to a specificpattern.

In yet other embodiments, the circuit block 104 contains a RAM/ROM logicblock consisting of “logic element tree” or “P-Term logic array” blocksthat perform logic functions. FIG. 7 shows one such NAND EEPROMimplementation of a P-Term in NAND-NOR logic array, while FIG. 8 showsthe same P-term configuration for either SRAM, or hard-wired PLDarchitectures. FIG. 7 shows two mirrored outputs P1 and P2. For outputP1, an AND gate 232 receives signals from pass transistors 222, 224, 228and 230. The pass transistor 222 is controlled by block 220 shown in thedashed circle, while the pass transistor 228 is controlled by block 226shown inside the dashed circle. Similarly, the upper half of FIG. 8includes an AND gate 252 that receives inputs from pass transistors 242,244, 248 and 250, respectively.

FIG. 9 shows an exemplary pass-gate logic 260 connecting one input toone output. The NMOS pass gate voltage level S0 determines an ON and OFFconnection. FIG. 10 shows an exemplary 4-Input logic MUX implementing anoutput function O where O=I0*S0+I1*S1+I2*S2+I3*S3. In the MUX, only oneof S0 270, S1 272, S2 274, S3 276 has a logic one. The MUX isconstructed by combining four NMOS pass gate logic elements 280-286shown in FIG. 9.

FIG. 11 shows an exemplary 2-input truth table logic realization of anoutput function F where,F=/A*/B*S0+/A*B*S1+A*/B*S2+A*B*S3 (/A means not A).The truth table logic values are represented by S0, S1, S2 and S3. Therealization is done through six inverters collectively designated 250and eight pass transistors collectively designated 260. Logic values arestored in 4 programmable registers.

FIG. 12 shows a logic tree constructed with five 2-input truth tablelogic blocks 320-328 to perform a full four input truth table. A fourinput truth table has 16 possible logic values S0, S1, . . . , S15. Asthe number of inputs grow to N, this logic tree construction requires2^(N) logic values, and 2^((N−1)) branches in the logic tree. For largeN values, a full truth table realization is less efficient compared to apartial product term AND-OR array realization.

In another embodiment, the programmable logic block can be aprogrammable microprocessor block. The microprocessor can be selectedfrom third party IP cores such as: 8051, Z80, 68000, MIPS, ARM, andPowerPC. These microprocessor architectures include superscalar, FineGrain Multi-Threading (FGMT) and Simultaneous Multi-Threading (SMT) thatsupport Application Specific Packet Processing (ASPP) routines. Tohandle Programmable Network Interface (PNI) the processor can containhardware and software configurability. Hardware upgradeability can begreatly enhanced in microprocessors embedded in PLD's by making use ofthe available logic content of the PLD device. Programmable features caninclude varying processor speed, cache memory system and processorconfiguration, enhancing the degree of Instruction Level Parallelism(ILP), enhancing Thread level parallelism (TLP). Such enhancements allowthe user to optimize the core processor to their specific application.Cache parameters such as access latency, memory bandwidth, interleavingand partitioning are also programmable to further optimize processorperformance and minimize cache hit miss rates. Additionally, theprocessor block can be a Very Long Instruction Word (VLIW) processor tohandle multimedia applications. The processor block can include a cachecontroller to implement a large capacity cache as compared with aninternal cache.

While a PLD can be configured to do DSP functions, the programmablelogic block can also contain a digital signal processor (DSP), which isa special purpose processor designed to optimize performance for veryhigh speed digital signal processing encountered in wireless andfiber-optic networks. The DSP applications can include programmablecontent for cache partitioning, digital filters, image processing andspeech recognition blocks. These real-time DSP applications contain highinterrupt rates and intensive numeric computations best handled byhardware blocks. In addition, the applications tend to be intensive inmemory access operations, which may require the input and output oflarge quantities of data. The DSP cache memory may be configured to havea “Harvard” architecture with separate, independent program and datamemories so that the two memories may be accessed simultaneously. Thisarchitecture permits an instruction and an operand to be fetched frommemory in a single clock cycle. A modified Harvard architecture utilizesthe program memory for storing both instructions and operands to achievefull memory utilization. The program and data memories are ofteninterconnected with the core processor by separate program and databuses. When both instructions and operands (data) are stored in a singleprogram memory, conflicts may arise in fetching data with the nextinstruction. Such conflicts have been resolved in prior art for DSP's byproviding an instruction cache to store conflicting instructions forsubsequent program execution.

In yet another embodiment, programmable logic block can contain softwareprogrammability. These software functions are executed in DSP, ARM, orMIPS type inserted IP cores, or an external host CPU. Acceleratorsconnected by a configurable SRAM switching matrix enhance thecomputation power of the processors. The microprocessor has localpermanent SRAM memory to swap, read, and write data. The switch matrixis pre-designed to offer both hard-wire and programmable options in thefinal ASIC. In this situation, the circuit block 104 can be a functionalblock that performs well-defined, commonly-needed function, such asspecial D/A or A/D converter, standard bus interface, or such block thatimplements special algorithms such as MPEG decode. The specialalgorithms implemented can be hardware versions of software. Forexample, algorithms relating to digital radio or cellular telephone suchas WCDMA signal processing can be implemented by the functional block.Other functional blocks include PCI, mini-PCI, USB, UART blocks that canbe configured by specifying the SRAM logic blocks.

In yet another embodiment, the circuit block 104 can be memory such as aregister file, cache memory, static memory, or dynamic memory. Aregister file is an array of latches that operate at high speed. Thisregister length counter may be programmable by the user. A cache memoryhas a high access throughput, short access latency and a smallercapacity as compared with main memory. The cache memory may beprogrammable to partition between the different requirements of thesystem design. One such need is the division between L1 and L2 cacherequirements for networking applications. The memory can also be staticrandom access memory or (SRAM) device with an array of single port, ormulti-port addressable memory cells. Each cell includes a fourtransistor flip-flop and access transistors that are coupled toinput/output nodes of the flip-flop. Data is written to the memory cellby applying a high or low logic level to one of the input/output nodesof the flip-flop through one of the access transistors. When the logiclevel is removed from the access transistor, the flip-flop retains thislogic level at the input/output node. Data is read out from theflip-flop by turning on the access transistor. The memory can also bedynamic random access memory (DRAM). Generally, a DRAM cell consists ofone transistor and a capacitor. A word line turns on/off the transistorat the time of reading/writing data stored in the capacitor, and the bitline is a data input/output path. DRAM data is destroyed during read,and refresh circuitry is used to continually refresh the data. Due tothe low component count per bit, a high density memory device isachieved.

In another embodiment, the circuit block 104 can be an intellectualproperty (“IP”) core which is reusable for licensing from othercompanies or which is taken from the same/previous design. In core-baseddesign, individual cores may be developed and verified independently asstand-alone modules, particularly when IP core is licensed from externaldesign source. These functions are provided to the user as IP blocks asspecial hardware blocks or pre-configured programmable logic blocks. TheIP blocks connect via a programmable switching matrix to each other andother programmable logic. The hardware logic block insertion to anyposition in a logic sequence is done through the configurable logicmatrix. These hardware logic blocks offer a significant gate countreduction on high gate count frequently used logic functions, and theuser does not require generic “logic element” customization. In bothcases, the user saves simulation time, minimize logic gate count,improve performance, reduce power consumption and reduce product costwith pre-defined IP blocks. The switch matrix is replaced by hard-wiresin the final ASIC.

The circuit blocks 104 can also be an array of programmable analogblocks. In one embodiment, the analog blocks include programmable PLL,DLL, ADC and DAC. In another embodiment, each block contains anoperational amplifier, multiple programmable capacitors, and switchingarrangements for connecting the capacitors in such as a way as toperform the desired function. Switched capacitor filters can also beused to achieve an accurate filter specification through a ratio ofcapacitors and an accurate control of the frequency of a sampling clock.Multiple PLL's can be programmed to run at different frequencies on thesame chip to facilitate SoC applications requiring more than one clockfrequency.

The circuit blocks 104 also contain data fetch and data write circuitryrequired to configure the configuration circuits 108. This operation maybe executed by a host CPU residing in the system, or the PLD deviceitself. During power up, these circuits initialize and read theconfiguration data from an outside source, either in serial mode or inparallel mode. The data is stored in a predefined word length locallyand written to the configurability allocation. The programmedconfiguration data is verified against the locally stored data and aprogramming error flag is generated if there is a mismatch. Thesecircuits are redundant in the conversion of the PLD to an ASIC. However,these circuits are used in both FPGA and ASIC for test purposes, and hasno cost penalty. A pin-out option has a “disable” feature to disconnectthem for the customer use in the FPGA and ASIC.

Configuration circuits 108 provide active circuit control over digitalcircuits 104. One embodiment of the configuration circuit includes anarray of memory elements. The user configuration of this memory amountsto a specific bitmap of the programmable memory in a softwarerepresentation.

Suitable memory elements include volatile or non volatile memoryelements. In non-volatile memory (NVM) based products, configurable datais held in one of metal link fuse, anti-fuse, EPROM, Flash, EEPROMmemory element, or ferro-electric elements. The first two are one timeprogrammable (OTP), while the last four can be programmed multipletimes. As EPROM's require UV light to erase data, only Flash & EEPROM'slend to in-system programmability (ISP). In volatile products, theconfigurable data storage can be SRAM cells or DRAM cells. With DRAMcells, the data requires constant refresh to prevent losses fromleakages. Additionally, one or more redundant memory cells controllingthe same circuit block can be used to enhance device yield.

The components of the memory element array can be a resistor, capacitor,transistor or a diode. In another embodiment of the configurationcircuit, a memory element can be formed using thin film deposition. Thememory element can be a thin film resistor, thin film capacitor, thinfilm transistor (TFT) or a thin film diode or a group of thin filmdevices connected to form an SRAM cell.

This discussion is mostly on SRAM elements and can easily extend toinclude all other programmable elements. In all cases, the design needsto adhere to rules that allow programmable module elimination, with nochanges to the base die, a concept not used in PLD, FPGA, Gate Array andASIC products today.

An exemplary 6T SRAM cell, shown in FIG. 13, needs no high voltagecapability, nor added process complexity. The cell of FIG. 13 has twoback-to-back inverters 350-352 whose access is controlled by passtransistors 354-356. In addition, R-load & Thin Film Transistor (TFT)load PMOS based SRAM cells can be used for PLDs and FPGAs. To achievezero stand-by power by eliminating sensing circuitry, and reduce memoryelement count for low input functions, these SRAM cells are embedded intruth table logic (also called Look-Up-Table) based architectures.

Pass gate transistor 360 logic controlled by SRAM is shown in FIG. 14.In this embodiment, the memory cell (such as the cell of FIG. 13) drivesthe pass transistor 360 to affect an outcome. A 5×6-switch point matrix370 controlled by 30-SRAM cells coupled to 30-NMOS pass gates is shownin FIG. 15. FIG. 16 shows the NMOS pass gate 360 logic controlled by theSRAM in FIG. 14 converted to hard-wire logic. A contact 362, connectedto Vcc (logic 1) or Vss (logic 0) depending on the SRAM logic content,replace the SRAM cell. The SRAM logic mapping to hard wire connectionsare automatic and done by a software program that is verifiable againstthe bit-map.

Similarly, FIG. 17 shows the 5×6-switch point matrix 370 hard-wired byreplacing the SRAM bits that control NMOS gates with hard-wires to Vccor Vss. In FIG. 17, the bubble may represent either SRAM or hard-wireVcc or Vss control on NMOS pass gates. In the case of Fuse or Antifusearrays, contact or no contact between the two metal lines in FIG. 15directly replaces the programmable element and there is no NMOSpass-gate needed.

The P-Term logic builds the core of PLD's and complex PLD's (CPLD's)that use AND-OR blocks 202-204 (or equivalent NAND-NOR type logicfunctions) as shown in the block diagram of FIG. 5 and one expansion isshown in FIG. 6 with AND gates 210 and OR gates 212. Gate implementationof two inputs (I1, I2) and two P-terms (P1, P2) NAND function can besingle poly EEPROM bits as shown in FIG. 7. The dotted circle containsthe charge trapping floating gate, the programming select transistor,tunneling diode, a control gate capacitor and programming access nodes.The SRAM cell replaces that entire circle in this invention as detailednext. The SRAM NAND-NOR array (also AND-OR array) replacement has notbeen realized in prior art as SRAM cells require Nwell & Pwell regionsthat consume large silicon area to prevent latch-up. The SRAM in TFT donot have well related constraints as NMOS and PMOS bodies are isolatedfrom each other. Keeping the two pass gates in silicon layers and movingSRAM to TFT layers allow P-Term logic implementation with SRAM cells andsubsequent replacement with hard-wires. In TFT SRAM conversion to finalASIC, the bubble on NMOS gate becomes a hard-wire connection to Vcc orVss.

The length of input and output wires, and the drive on NMOS pass gatesand logic gate delays determine the overall PLD delay timing,independent of the SRAM cell parameters. By moving SRAM cell to TFTupper layers, the chip X,Y dimensions are reduced over 20% to 50%compared to traditional SRAM FPGA's, providing a faster logic evaluationtime. In addition, removal of SRAM cell later does not alter lateralwire length, wire loading and NMOS pass gate characteristic. Thevertical dimension change in eliminating the memory module is negligiblecompared to the lateral dimension of the ASIC, and has no impact ontiming. This allows maintaining identical timing between the FPGA andASIC implementations with and without the SRAM cells. The final ASICwith smaller die size and no SRAM elements have superior reliability,similar to an ASIC, leading to lower board level burn-in and fieldfailures compared to PLD's and FPGA's in use today.

Next, the wiring and/or routing circuit 112 is discussed. The wiringand/or routing circuit connects each logic block to each other logicblock. The wiring/routing circuit allows a high degree of routingflexibility per silicon area consumed and uniformly fast propagation ofsignals, including high-fanout signals, throughout the device. Thewiring module may contain one or many levels of metal interconnects.

One embodiment of a switch matrix is a 6×5 programmable switch-matrixwith 30 SRAM bits (or 30 Anti-fuses, or 30 fuses), shown in FIG. 15. Thebox in FIG. 14 contains the SRAM cell shown inside dotted box of FIG.14, where the pass gate makes the connection between the two wires, andthe SRAM bit holds the configuration data. In this configuration, thewire connection in circuit 112 occurs via a pass transistor located incircuit 104 controlled by an SRAM cell in circuit 108. During power-up,a permanent non-volatile memory block located in the system, loads thecorrect configuration data into SRAM cells. In Fuse or Anti-fuseapplications, the box simply represents the programmable element incircuit 108 between the two wires in circuit 112. During the ASICconversion this link is replaced with an open or short between thewires.

Another embodiment provides short interconnect segments that could bejoined to each other and to input and output terminals of the logicblocks at programmable interconnection points. In another embodiment,direct connections to adjacent logic blocks can be used to increasespeed. For global signals that traverse long distances, longer lines areused. Segmented interconnect structures with routing lines of variedlengths can be used. In yet other embodiments, a hierarchicalinterconnect structure provides lines of short lengths connectable atboundaries to lines of longer lengths extending between the boundaries,and larger boundaries with lines of even longer length extending betweenthose boundaries. The routing circuit can connect adjacent logic blocksin two different hierarchical blocks differently than adjacent logicblocks in the same hierarchical block. Alternatively, a tile-basedinterconnect structure can be used where lines of varying lengths inwhich each tile in a rectangular array may be identical to each othertile. In yet another implementation, the interconnect lines can beseparated from the logic block inputs by way of a routing matrix, whichgives each interconnect line more flexible access to the logic blockinputs. In another embodiment, interconnect routing is driven byprogrammable buffers. Long wire lengths can be sub-divided into smallerlength segments with smaller buffers to achieve a net reduction in theoverall wire delay, and to obtain predictable timing in the logicrouting of the PLD.

Next, a brief description of the manufacturing process is discussed.During manufacturing, one or more digital circuits can be formed on asubstrate. Next, the process selectively fabricates either a memorycircuit or a conductive pattern substantially above the digital circuitsto control portion of digital circuits. Finally, the process fabricatesan interconnect and routing layer substantially above the digitalcircuits and memory circuits to connect digital circuits and one of thememory circuit or the conductive pattern.

The process can be modified to fabricate a generic field programmablegate array (FPGA) with the constructed memory circuit or an applicationspecific integrated circuit (ASIC) with the constructed conductivepattern. Multiple ASICs can be fabricated with different variations ofconductive patterns. The memory circuit and the conductive pattern haveone or more substantially matching circuit characteristics. In thiscase, timing characteristics substantially unchanged by the circuitcontrol option. The process thus fabricates a programmable logic deviceby constructing digital circuits on a substrate; and constructing anon-planar circuit on the substrate after constructing the digitalcircuits, the non-planar circuit being either a memory deposited tostore data to configure the digital circuits to form a fieldprogrammable gate array (FPGA) or a conductive pattern deposited tohard-wire the digital circuits to form an application specificintegrated circuit (ASIC), wherein the deposited memory and theconductive pattern have substantially matching timing characteristics.In another embodiment, the hard-wire ASIC option may be incorporatedinto the digital circuit layer 102. In another embodiment, the hard-wireASIC option is incorporated into the routing layer 110.

Although an illustrative embodiment of the present invention, andvarious modifications thereof, have been described in detail herein withreference to the accompanying drawings, it is to be understood that theinvention is not limited to this precise embodiment and the describedmodifications, and that various changes and further modifications may beeffected therein by one skilled in the art without departing from thescope or spirit of the invention as defined in the appended claims.

1. A mask configurable semiconductor device, comprising: a programmablelogic circuit having one or more high impedance nodes; and a read onlymemory (ROM) element coupled to one of said high impedance node toconfigure the programmable logic circuit, wherein the ROM element ispositioned substantially above or below the programmable logic circuit.2. The device of claim 1, wherein the ROM element comprises a metal wirecoupled to a power supply voltage or a metal wire coupled to a groundsupply voltage.
 3. The device of claim 2, wherein the ROM element iscustomized during the fabrication process, said customization comprisedof: identifying power or ground supply voltage connection to program theprogrammable logic circuit to said user specification, and customizingat least one mask in the fabrication process to provide said power orground supply voltage connection.
 4. The device of claim 3, wherein saidat least one custom mask comprises a metal mask or a through-hole maskin a multi-metal fabrication process.
 5. The device of claim 1, whereininterconnect and routing signals are positioned below the ROM elementand above said transistors of the programmable logic circuit.
 6. Thedevice of claim 6, wherein interconnect and routing signals arepositioned above the ROM element.
 7. The device of claim 6, whereininterconnect and routing signals are positioned above and below the ROMelement.
 8. A programmable semiconductor device, comprising: a pluralityof programmable pass-gate logic elements constructed on a semiconductorsubstrate layer; and a plurality of read only memory (ROM) elementspositioned substantially above or below the semiconductor substratelayer, a said ROM element coupled to a said programmable pass-gate logicelement to program the pass-gate logic element to a user specification.9. The device of claim 8, wherein a said pass-gate logic element isconfigured by a digital input signal, the digital input signal generatedby a said ROM element.
 10. The device of claim 8, wherein a saidpass-gate logic element comprises a high-mobility semiconductorsubstrate transistor.
 11. The device of claim 8, wherein a said ROMelement comprises a metal wire coupled to a power supply voltage or ametal wire coupled to a ground supply voltage.
 12. The device of claim11, wherein the ROM element is customized during the fabricationprocess, said customization comprised of: identifying power or groundsupply voltage connection to program the programmable logic circuit tosaid user specification, and customizing at least one mask in thefabrication process to provide said power or ground supply voltageconnection.
 13. The device of claim 12, wherein said at least one custommask comprises a metal mask or a through-hole mask in a multi-metalfabrication process.
 14. The device of claim 10, wherein interconnectand routing signals are positioned below the ROM element and above theprogrammable pass-gate logic transistor.
 15. The device of claim 8,wherein interconnect and routing signals are positioned above the ROMelement.
 16. The device of claim 8, wherein interconnect and routingsignals are positioned above and below the ROM element.
 17. Aprogrammable integrated circuit (IC), wherein: a programmable logiccircuit is programmed to a user specification by configuring atransistor gate control signal generated by a read only memory (ROM)element positioned substantially above or below the transistor.
 18. TheIC of claim 17, further comprising a plurality of programmable metalinterconnects, wherein one or more metal interconnects is configured toa user specification by a said ROM element.
 19. The IC of claim 17,wherein the programmable logic circuit further comprises one or moredigital inputs, a said digital input is configured to a userspecification by said ROM element.
 20. The IC of claim 17, wherein asaid ROM element comprises a metal wire coupled to a power supplyvoltage or a metal wire coupled to a ground supply voltage as identifiedby said user specification.